package com.zzyl.service;

import com.aliyun.iot20180120.models.DeleteDeviceRequest;
import com.aliyun.iot20180120.models.QueryDeviceDetailRequest;
import com.aliyun.iot20180120.models.QueryDeviceRequest;
import com.zzyl.base.PageResponse;
import com.zzyl.base.ResponseResult;
import com.zzyl.dto.DeviceDto;
import com.zzyl.vo.DeviceVo;

/**
 * @author sjqn
 * @date 2023/11/13
 */
public interface DeviceService {
    /**
     * 注册设备
     * @param deviceDto
     * @return
     */
    ResponseResult registerDevice(DeviceDto deviceDto) throws Exception;

    /**
     * 按照产品key查询设备列表
     * @param request
     * @return
     */
    ResponseResult<PageResponse<DeviceVo>> queryDevice(QueryDeviceRequest request) throws Exception;

    /**
     * 查询设备详细数据
     * @param request
     * @return
     */
    ResponseResult queryDeviceDetail(QueryDeviceDetailRequest request) throws Exception;

    /**
     * 更新设备
     * @param deviceDto
     * @throws Exception
     */
    public void updateDevice(DeviceDto deviceDto) throws Exception ;

    /**
     * 删除设备
     * @param request
     * @throws Exception
     */
    public void deleteDevice(DeleteDeviceRequest request) throws Exception ;
}



